낙관적 업데이트

❓질문

낙관적 업데이트에 관하여 설명해주세요.


💡 조사하기전 내가 알고 있던 내용

처음으로 들어보는 단어라 대답을 하지 못했습니다


🏫 정리한 내용

낙관적 업데이트란 성공적인 상태 업데이트가 이뤄질 거라는 가정 하에 서버 응답 이전에 UI를 미리 업데이트하는 방법입니다. 사용자 요청을 서버에서 성공적으로 처리할 거라고 미리 예상하고 UI를 즉각적으로 변경해서 사용자에게 빠른 반응을 보여주기 위함입니다.

대표적인 예로 좋아요 기능을 들 수 있습니다.

장점으로는 사용자가 시스템을 빠르게 쓸 수 있다는점입니다. 네트워크가 좋지 않거나 응답속도가 길어도 UX에 영향을 덜 미치게 됩니다.

다만 서버에서 오류가 발생하면 잠시동안 화면에 잘못된 정보가 표시될 수 있습니다. 따라서 이 경우를 대비한 오류 핸들링 로직을 같이 설계해야 한다는 주의점이 있습니다.

그리고 결제나 중요한 데이터를 다루는 경우에는 오히려 UX를 저해 할수있습니다. 요청에 실패한다면 민감도 높은 정보가 잘못 표시되면서 사용자 경험을 크게 저해할 수 있기 때문입니다.